import request from '@/config/axios'

// 商家配置 VO
export interface BusinessUserVO {
  id: number // 自增主键
  businessType: number // 商家类型：0--业务代表，1--法人代表
  areaId: number // 区域ID
  parentId: number // 上级老板用户ID，0--为老板
  userId: number // 当前用户ID
  userType: number // 账号类型：0--老板，1--员工
  creditId: number // 商家信用等级，关联business_credit表信用等级level值
  companyName: string // 公司名称
  companyAddress: string // 公司地址
  companyImage: string // 公司营业执照
  cardImage: string // 身份证
  cardBackImage: string // 身份证背面照片
  liveImage: string // 生活合照
  licenseImage: string // 许可证照
  receiveAddress: string // 收货地址
  deliveryAddress: string // 发货地址
  supplyNum: number // 可发布供应条数
  buyNum: number // 可发布求购条数
  complainNum: number // 可发布投诉条数
  leaveNum: number // 可发布离职通告条数
  status: number // 商家状态：0--刚申请，1--已审核并认证，2--已拒绝
  isAuth: number // 商家认证：0--未认证，1--已认证，2--认证失效
  isOpen: number // 是否开启相关功能
  authTime: Date // 认证时间
  overTime: Date // 有效时间
  nickname: string //用户昵称
  username: string //用户姓名
  mobile: string //联系电话
}

// 商家配置 API
export const BusinessUserApi = {
  // 查询商家配置分页
  getBusinessUserPage: async (params: any) => {
    return await request.get({ url: `/wine/business-user/page`, params })
  },
  getCategoryList: async (params: any) => {
    return await request.get({ url: `/system/area/tree`, params })
  },
  // 查询商家信用等级
  getCreditList: async (params: any) => {
    return await request.get({ url: `/wine/business-credit/list`, params })
  },
  // 查询商家配置详情
  getBusinessUser: async (id: number) => {
    return await request.get({ url: `/wine/business-user/get?id=` + id })
  },

  // 新增商家配置
  createBusinessUser: async (data: BusinessUserVO) => {
    return await request.post({ url: `/wine/business-user/create`, data })
  },

  // 修改商家配置
  updateBusinessUser: async (data: BusinessUserVO) => {
    return await request.put({ url: `/wine/business-user/update`, data })
  },
  // 审核
  audit: async (data: BusinessUserVO) => {
    return await request.put({ url: `/wine/business-user/audit`, data })
  },
  // 删除商家配置
  deleteBusinessUser: async (id: number) => {
    return await request.delete({ url: `/wine/business-user/delete?id=` + id })
  },

  // 导出商家配置 Excel
  exportBusinessUser: async (params) => {
    return await request.download({ url: `/wine/business-user/export-excel`, params })
  }
}
